#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

//  boxgroup1
void Widget::on_appendBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

    ui->resultText->setText(str1.append(str2));
}


void Widget::on_prependBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

    ui->resultText->setText(str1.prepend(str2));
}


void Widget::on_upperBtn_clicked()
{
    ui->resultText->setText(ui->str1Box->currentText().toUpper());
}


void Widget::on_lowerBtn_clicked()
{
    ui->resultText->setText(ui->str1Box->currentText().toLower());
}


void Widget::on_leftBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

    qsizetype index = str1.indexOf(str2);
    ui->resultText->setText(str1.left(index));  // 从左边开始第n个
}


void Widget::on_rightBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

    qsizetype index = str1.lastIndexOf(str2);
    ui->resultText->setText(str1.right(str1.count()-index-1));  // 从右边开始第n个
}


void Widget::on_sectionBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

    ui->resultText->setText(str1.section(str2, 0, 2));
}


void Widget::on_simplifiedBtn_clicked()
{
    ui->resultText->setText(ui->str1Box->currentText().simplified());
}


void Widget::on_tirmmedBtn_clicked()
{
    ui->resultText->setText(ui->str1Box->currentText().trimmed());
}

//  boxgroup2
void Widget::on_countBtn_clicked()
{
    ui->countBox->setValue(ui->str1Box->currentText().count());
    ui->countLab->setText("count()");
}


void Widget::on_sizeBtn_clicked()
{
    ui->countBox->setValue(ui->str1Box->currentText().size());
    ui->countLab->setText("size()");
}


void Widget::on_indexBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

//    ui->countBox->setValue(str1.indexOf(str2)); // 区分大小写
    // 第二个参数是从第几个开始找
    ui->countBox->setValue(str1.indexOf(str2, 29, Qt::CaseInsensitive)); // 不区分大小写
    ui->countLab->setText("indexOf()");
}


void Widget::on_lastIndexBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

    ui->countBox->setValue(str1.lastIndexOf(str2));
    ui->countLab->setText("lastIndexOf()");
}

//  boxgroup3
void Widget::on_endBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

    ui->logicBox->setChecked(str1.endsWith(str2));
    ui->logicBox->setText("endsWith");
}


void Widget::on_startBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

    ui->logicBox->setChecked(str1.startsWith(str2));
    ui->logicBox->setText("startsWith");
}


void Widget::on_containsBtn_clicked()
{
    QString str1, str2;
    str1 = ui->str1Box->currentText();
    str2 = ui->str2Box->currentText();

    ui->logicBox->setChecked(str1.contains(str2));
    ui->logicBox->setText("contains");
}


void Widget::on_nullBtn_clicked()
{
    ui->logicBox->setChecked(ui->str1Box->currentText().isNull());
    ui->logicBox->setText("isNull");
}


void Widget::on_emptyBtn_clicked()
{
    ui->logicBox->setChecked(ui->str1Box->currentText().isEmpty());
    ui->logicBox->setText("isEmpty");
}

